<?php
class UsersController extends AppController {

	var $name = 'Users';

	function index() {
		$this->User->recursive = 0;
		$this->set('users', $this->paginate());
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Los datos son invalidos.', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('user', $this->User->read(null, $id));
	}

         
function add() {
    if ($this->data) {
        if ($this->data['User']['user_password'] == $this->Auth->password($this->data['User']['user_password_confirm'])) {
            $this->data['User']['profiles_id'] = '2';
            $this->User->create();
            $this->User->save($this->data);
            $id = $this->User->getLastInsertId();
            $aro = new Aro();
            $data = array('alias' => $this->data['User']['username'],
                         'parent_id' => '3',
                         'model' => 'User',
                         'foreign_key' => $id,);
            $aro->create();
            $aro->save($data);
            $this->Session->setFlash(__('Los datos se han guardado correctamente.', true));
        }else{
            $this->Session->setFlash(__('Error.', true));
        }
    }
}



	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Los datos son invalidos', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->User->save($this->data)) {
				$this->Session->setFlash(__('Los datos se han guardado correctamente.', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('Ha ocurrido un error al guardar los datos. Por favor pruebe luego.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->User->read(null, $id);
		}
		$vatStatuses = $this->User->VatStatus->find('list');
		$this->set(compact('vatStatuses'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Los datos son invalidos', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->User->delete($id)) {
			$this->Session->setFlash(__('Los datos han sido eliminados correctamente.', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Ha ocurrido un error al eliminar los datos. Por favor pruebe luego.', true));
		$this->redirect(array('action' => 'index'));
	}
        
    function login(){ 
       // $this->log($_POST['dni']);
        $this->set('title_for_layout', 'RENAVESE - Login');
        if(!empty($this->data)){
           $this->Auth->login($this->data);
        } 
    } 

    function logout() 
    {//$this->Auth->allowedActions= array('logout');
		$this->Session->destroy('User');
		$this->redirect(array('controller' => 'users', 'action' => 'login'));
		exit;
    }
      
    function change($id = null){
        $user = $this->Session->read('Auth.User');
               if (!empty($this->data)){
                  
                       if ($this->data['User']['user_password'] != $this->Auth->password($this->data['User']['user_password_confirm'])){
                           $this->Session->setFlash(__('Contraseñas distintas vuelva a intentarlo...', true));
                       }else{
                            $this->data['User']['activated'] = '1';
                            if ($this->User->save($this->data)) {
				$this->Session->setFlash(__('Los datos se han guardado correctamente. por favor vuelva a loguearse', true));
				$this->redirect(array('action' => 'login'));
                            }else{
                            $this->log('error al grabar');
                                $this->set('nombre' , $this->data['User']['username']);
				$this->Session->setFlash(__('Ha ocurrido un error al guardar los datos. Por favor pruebe luego.', true));
                            }
                       }
		}
               if (empty($this->data)){   
                   $id = $user['id'];
			$this->data = $this->User->read(null, $id);
                        if($this->data['User']['activated'] == '1'){
                            $this->Session->setFlash(__('El Usuario Ya está activo', true));
                            $this->redirect(array('controllers'=>'masters','action' => 'inicio'));
                        }                       
		}
                 $this->set('nombre' , $this->data['User']['username']);
                 $this->set('id',$id);
     }
}
?>